gtk4.git
5 years agorange: Hide internals from accessibility
Matthias Clasen [Wed, 21 Oct 2020 12:00:09 +0000 (08:00 -0400)]
range: Hide internals from accessibility

The nameless, faceless gizmos inside a range do not
contribute to the accessible experience at all, lets
not add them to the tree. All the accessible functionality
is on the main widget (either a scale or a scrollbar).

5 years agoCosmetics
Matthias Clasen [Wed, 21 Oct 2020 11:59:56 +0000 (07:59 -0400)]
Cosmetics

5 years agoframe: Set up accessible relations
Matthias Clasen [Wed, 21 Oct 2020 03:30:35 +0000 (23:30 -0400)]
frame: Set up accessible relations

Mark the child as labelled-by the label.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Wed, 21 Oct 2020 11:43:58 +0000 (11:43 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

See merge request GNOME/gtk!2729

5 years agoMerge branch 'wip/exalm/nullable' into 'master'
Timm Bäder [Wed, 21 Oct 2020 08:17:45 +0000 (08:17 +0000)]
Merge branch 'wip/exalm/nullable' into 'master'

widget: Add missing (nullable) on binding functions

See merge request GNOME/gtk!2730

5 years agowidget: Add missing (nullable) on binding functions
Alexander Mikhaylenko [Tue, 20 Oct 2020 11:26:17 +0000 (16:26 +0500)]
widget: Add missing (nullable) on binding functions

Even though they are marked as (skip), they are used in Vala and have wrong
types there atm.

5 years agodocs: Document more accessible roles
Matthias Clasen [Wed, 21 Oct 2020 03:19:30 +0000 (23:19 -0400)]
docs: Document more accessible roles

Document that GtkText is skipped in accessibility.

5 years agoCosmetics
Matthias Clasen [Wed, 21 Oct 2020 03:19:18 +0000 (23:19 -0400)]
Cosmetics

Typo fix.

5 years agodocs: Document more accessible roles
Matthias Clasen [Wed, 21 Oct 2020 03:09:11 +0000 (23:09 -0400)]
docs: Document more accessible roles

GtkColumnView and its various components use a lot
of accessible roles.

5 years agodocs: Document more accessible roles
Matthias Clasen [Wed, 21 Oct 2020 02:53:30 +0000 (22:53 -0400)]
docs: Document more accessible roles

GtkListView and GtkGridView were missing this as well.

5 years agodocs: Document accessible roles of some classes
Matthias Clasen [Wed, 21 Oct 2020 02:51:11 +0000 (22:51 -0400)]
docs: Document accessible roles of some classes

GtkListBox and GtkFlowBox were missing this.

5 years agoa11y: Add some more tests
Matthias Clasen [Wed, 21 Oct 2020 02:44:24 +0000 (22:44 -0400)]
a11y: Add some more tests

5 years agoinspector: Show accessible object path
Matthias Clasen [Wed, 21 Oct 2020 01:56:54 +0000 (21:56 -0400)]
inspector: Show accessible object path

Show the object path of the object on the a11y bus,
this is can be useful information. While we are here,
make sure that the Inspector does not throw criticals
when used with GTK_NO_A11Y=1.

5 years agoatsi: Fix emission of text selection changes
Matthias Clasen [Wed, 21 Oct 2020 01:31:23 +0000 (21:31 -0400)]
atsi: Fix emission of text selection changes

We were not emitting text-selection-changed and
text-caret-moved as expected.

5 years agoa11y: Fix handling of LABELLED_BY relation
Matthias Clasen [Wed, 21 Oct 2020 01:27:39 +0000 (21:27 -0400)]
a11y: Fix handling of LABELLED_BY relation

There were several places where we were confusing
GList and GSList and list->data and list->next, causing
a crash in the accessible name computation for buttons
with mnemonic labels.

5 years agodocs: Mention subclassing and destroy in the migration guide
Matthias Clasen [Tue, 20 Oct 2020 22:26:38 +0000 (18:26 -0400)]
docs: Mention subclassing and destroy in the migration guide

Mention changes regarding subclassing and life-cycle
handling in the migration guide.

5 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Tue, 20 Oct 2020 14:05:49 +0000 (14:05 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

Wip/otte/for master

Closes #3280

See merge request GNOME/gtk!2725

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Tue, 20 Oct 2020 05:57:45 +0000 (05:57 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Some more a11y tests

See merge request GNOME/gtk!2726

5 years agoa11y: Add tests for GtkFlowBox
Matthias Clasen [Tue, 20 Oct 2020 05:12:20 +0000 (01:12 -0400)]
a11y: Add tests for GtkFlowBox

Test that roles, states and properties are as expected.

5 years agoa11y: Add tests for GtkListBox
Matthias Clasen [Tue, 20 Oct 2020 05:07:13 +0000 (01:07 -0400)]
a11y: Add tests for GtkListBox

Test that roles, states and properties are as expected.

5 years agoa11y: Add tests for GtkStack and GtkStackSwitcher
Matthias Clasen [Tue, 20 Oct 2020 04:46:07 +0000 (00:46 -0400)]
a11y: Add tests for GtkStack and GtkStackSwitcher

Test that the roles, states and relations are
as expected.

5 years agoa11y: Add a test for label properties
Matthias Clasen [Tue, 20 Oct 2020 04:24:26 +0000 (00:24 -0400)]
a11y: Add a test for label properties

Now that we set the label property, we should test it too.

5 years agogtk: Remove unused header include
Benjamin Otte [Tue, 20 Oct 2020 02:21:34 +0000 (04:21 +0200)]
gtk: Remove unused header include

gtkcssnodeprivate.h was mainly used for repositioning CSS nodes in
gadgets, and gadgets are gone now.

5 years agoentry: Keep widget order
Benjamin Otte [Tue, 20 Oct 2020 02:05:52 +0000 (04:05 +0200)]
entry: Keep widget order

... instead of just ordering the CSS nodes.

5 years agoflowbox: Keep widget order
Benjamin Otte [Tue, 20 Oct 2020 02:00:56 +0000 (04:00 +0200)]
flowbox: Keep widget order

... instead of just ordering the CSS nodes.

5 years agolistbox: Reorder the widgets when sorting
Benjamin Otte [Tue, 20 Oct 2020 01:56:30 +0000 (03:56 +0200)]
listbox: Reorder the widgets when sorting

... instead of just reordering the CSS nodes.

5 years agolistitemwidget: Remove unnecessary code
Benjamin Otte [Tue, 20 Oct 2020 01:54:07 +0000 (03:54 +0200)]
listitemwidget: Remove unnecessary code

gtk_widget_insert_after() reorders CSS nodes properly.

5 years agonotebook: Remove unnecessary code
Benjamin Otte [Tue, 20 Oct 2020 01:52:51 +0000 (03:52 +0200)]
notebook: Remove unnecessary code

gtk_widget_insert_after() reorders CSS nodes properly.

Also fix page reordering code to actually reorder the widget instead of
just the CSS nodes.

5 years agobox: Remove unnecessary code
Benjamin Otte [Mon, 19 Oct 2020 23:51:58 +0000 (01:51 +0200)]
box: Remove unnecessary code

gtk_widget_insert_after() reorders CSS nodes properly.

5 years agowidget: Always update the CSS node
Benjamin Otte [Mon, 19 Oct 2020 23:50:12 +0000 (01:50 +0200)]
widget: Always update the CSS node

Anybody who keeps their own CSS nodes around or wants to order CSS nodes
different from widgets will from now on have to do it manually all the
time.

This is outdated behavior, nobody should be doing either of those two
things.

Also, the correct case is much more common, and not doing it
automatically was causing bugs.

Fixes #3280

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Tue, 20 Oct 2020 01:45:17 +0000 (01:45 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Some a11y docs and fixes

See merge request GNOME/gtk!2724

5 years agoa11y: Fix accessible tree inconsistency
Matthias Clasen [Tue, 20 Oct 2020 01:13:27 +0000 (21:13 -0400)]
a11y: Fix accessible tree inconsistency

The stack page objects were not properly integrated
in the accessible tree - they were appearing as parent
of the pages when navigating up, but not as children
of the stack when navigating down.

5 years agostack: Minor doc addition
Matthias Clasen [Tue, 20 Oct 2020 01:15:08 +0000 (21:15 -0400)]
stack: Minor doc addition

5 years agodocs: Flesh out a11y section
Matthias Clasen [Tue, 20 Oct 2020 00:01:57 +0000 (20:01 -0400)]
docs: Flesh out a11y section

Add some advice for making custom widgets accessible.

5 years agoMerge branch 'wip/chergert/fix-macos-surface-under-pointer' into 'master'
Matthias Clasen [Mon, 19 Oct 2020 21:26:47 +0000 (21:26 +0000)]
Merge branch 'wip/chergert/fix-macos-surface-under-pointer' into 'master'

macos: fix discovery of surface under pointer

See merge request GNOME/gtk!2722

5 years agoMerge branch 'ebassi/for-master' into 'master'
Emmanuele Bassi [Mon, 19 Oct 2020 20:26:57 +0000 (20:26 +0000)]
Merge branch 'ebassi/for-master' into 'master'

Ebassi/for master

See merge request GNOME/gtk!2720

5 years agoMerge branch 'a11y/editable' into 'master'
Matthias Clasen [Mon, 19 Oct 2020 20:16:21 +0000 (20:16 +0000)]
Merge branch 'a11y/editable' into 'master'

Improve the accessible support for editables

See merge request GNOME/gtk!2719

5 years agomacos: fix discovery of surface under pointer
Christian Hergert [Mon, 19 Oct 2020 18:24:34 +0000 (11:24 -0700)]
macos: fix discovery of surface under pointer

5 years agoa11y: Tweak name and description computation
Matthias Clasen [Mon, 19 Oct 2020 18:58:34 +0000 (14:58 -0400)]
a11y: Tweak name and description computation

Instead of falling back to the role nick for both,
fall back to the class name for the name, and to
the empty string for the description. This makes
labels show up in Accerciser the same way they
did in GTK 3, and seems more useful to me than
the alternative.

5 years agoatspi: Use name and description as provided
Matthias Clasen [Mon, 19 Oct 2020 18:57:43 +0000 (14:57 -0400)]
atspi: Use name and description as provided

GtkATContext already does fallbacks to derive values
for these, so no need for the atspi implementation to
do its own fallback on top of that.

5 years agolabel: Set the accessible label property
Matthias Clasen [Mon, 19 Oct 2020 18:28:32 +0000 (14:28 -0400)]
label: Set the accessible label property

This will make label text show up in ATs again.

5 years agodocs: Add a section on a11y patterns
Emmanuele Bassi [Mon, 19 Oct 2020 17:39:40 +0000 (18:39 +0100)]
docs: Add a section on a11y patterns

5 years agodocs: Start outlining a11y authoring practices
Emmanuele Bassi [Mon, 19 Oct 2020 17:37:30 +0000 (18:37 +0100)]
docs: Start outlining a11y authoring practices

We should have documentation for application developers and widget
authors, so they can deal with the new accessibility API.

5 years agoa11y: Rename some methods
Matthias Clasen [Mon, 19 Oct 2020 16:58:29 +0000 (12:58 -0400)]
a11y: Rename some methods

Our EditableText implementation works fine for any
editable, so don't name the functions in a way that
looks like they are only for entries.

5 years agogtk-demo: Set an accessible role
Matthias Clasen [Mon, 19 Oct 2020 16:56:50 +0000 (12:56 -0400)]
gtk-demo: Set an accessible role

Set the expected accessible role on the tagged entry
widget in the demo of the same name. Accessible tools
may decide to ignore widgets that have the wrong role,
so setting an appropriate role is important.

5 years agoMerge branch 'a11y/component' into 'master'
Matthias Clasen [Mon, 19 Oct 2020 16:54:45 +0000 (16:54 +0000)]
Merge branch 'a11y/component' into 'master'

a11y: Implement Component

See merge request GNOME/gtk!2718

5 years agoa11y: Rework accessible name/description computation
Emmanuele Bassi [Fri, 16 Oct 2020 16:03:50 +0000 (17:03 +0100)]
a11y: Rework accessible name/description computation

The ARIA spec determines the name and description of accessible elements
in a more complex way that simply mapping to a single property; instead,
it will chain up multiple definitions (if it finds them). For instance,
let's assume we have a button that saves a file selected from a file
selection widget; the widgets have the following attributes:

 - the file selection widget has a "label" attribute set to the
   selected file, e.g. "Final paper.pdf"
 - the "download" button has a "label" attribute set to the
   "Download" string
 - the "download" button has a "labelled-by" attribute set to
   reference the file selection widget

The ARIA spec says that the accessible name of the "Download" button
should be computed as "Download Final paper.pdf".

The algorithm defined in section 4.3 of the WAI-ARIA specification
applies to both accessible names (using the "label" and "labelled-by"
attributes), and to accessible descriptions (using the "description" and
"described-by" attributes).

5 years agoatspi: Implement Text for more editables
Matthias Clasen [Mon, 19 Oct 2020 16:44:50 +0000 (12:44 -0400)]
atspi: Implement Text for more editables

Our Text implementation requires that we have
a GtkEditable with a delegate that is a GtkText
widget.

This change make the Text implementation work for
the custom widget in the tagged entry demo.

5 years agoUpdate Croatian translation
Goran Vidović [Mon, 19 Oct 2020 16:36:42 +0000 (16:36 +0000)]
Update Croatian translation

(cherry picked from commit fab2558747ace63ee656257f7001f81b3c6b9b49)

5 years agoAdd gtk_editable_get_delegate
Matthias Clasen [Mon, 19 Oct 2020 16:36:54 +0000 (12:36 -0400)]
Add gtk_editable_get_delegate

We need access to the delegate in the a11y layer,
so we might as well make this function public.

5 years agoatspi: Emit bounds-changed
Matthias Clasen [Mon, 19 Oct 2020 15:45:21 +0000 (11:45 -0400)]
atspi: Emit bounds-changed

This is using the new bounds_change vfunc in GtkATContext.

5 years agowidget: Mark the size as changed when it changes
Matthias Clasen [Wed, 14 Oct 2020 01:20:08 +0000 (21:20 -0400)]
widget: Mark the size as changed when it changes

This notifies the AT context that the widgets size
has changed.

5 years agoa11y: Add bounds change api
Matthias Clasen [Mon, 19 Oct 2020 15:33:38 +0000 (11:33 -0400)]
a11y: Add bounds change api

Add a way for GTK to pass bounds change information
to the AT context.

5 years agoatspi: Implement Component
Matthias Clasen [Wed, 14 Oct 2020 01:23:22 +0000 (21:23 -0400)]
atspi: Implement Component

Implement the non-questionable parts of the Component interface
for accessibles which are widgets.

This does not include:
 - global coordinates
 - setters
 - scrolling
 - alpha, layers, zorder, and the like

5 years agoa11y: Add a separate vfunc for platform changes
Matthias Clasen [Mon, 19 Oct 2020 15:19:57 +0000 (11:19 -0400)]
a11y: Add a separate vfunc for platform changes

The state_change vfunc is becoming unwieldy. Lets move
the platform changes to their own vfunc, as a start.

5 years agoatspi: Be more careful
Matthias Clasen [Mon, 19 Oct 2020 15:55:44 +0000 (11:55 -0400)]
atspi: Be more careful

We have non-widget accessibles now, so guard against
change notification being emitted on them.

5 years agoCosmetics
Matthias Clasen [Mon, 19 Oct 2020 16:08:47 +0000 (12:08 -0400)]
Cosmetics

Add some more fold markers.

5 years agoCosmetics
Matthias Clasen [Mon, 19 Oct 2020 16:00:53 +0000 (12:00 -0400)]
Cosmetics

5 years agoCosmetics
Matthias Clasen [Mon, 19 Oct 2020 15:24:09 +0000 (11:24 -0400)]
Cosmetics

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Mon, 19 Oct 2020 15:00:17 +0000 (15:00 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Various columnview fixes

Closes #3265, #3272, and #3276

See merge request GNOME/gtk!2717

5 years agoMerge branch 'msvc' into 'master'
Xavier Claessens [Mon, 19 Oct 2020 13:46:54 +0000 (13:46 +0000)]
Merge branch 'msvc' into 'master'

gdkglcontext: Fix build with MSVC

Closes #3268

See merge request GNOME/gtk!2713

5 years agoMerge branch 'annotations_gtkaboutdialog' into 'master'
Matthias Clasen [Mon, 19 Oct 2020 13:46:32 +0000 (13:46 +0000)]
Merge branch 'annotations_gtkaboutdialog' into 'master'

Add nullable return annotations in GtkAboutDialog

See merge request GNOME/gtk!2712

5 years agoAdd nullable return annotations in GtkAboutDialog
Sophie Herold [Mon, 19 Oct 2020 13:46:32 +0000 (13:46 +0000)]
Add nullable return annotations in GtkAboutDialog

5 years agocolumnview: Make right-aligned content work
Matthias Clasen [Mon, 19 Oct 2020 12:42:33 +0000 (08:42 -0400)]
columnview: Make right-aligned content work

Make right-aligned content work in resized columns.
There is currently no way to make a title right-aligned,
but we can still make it work correctly. This is a follow
up to 7eb0ae39c5549bfaa4e.

Fixes: #3276
5 years agoAdwaita: Put column separators on the left
Matthias Clasen [Mon, 19 Oct 2020 13:37:20 +0000 (09:37 -0400)]
Adwaita: Put column separators on the left

When resizing columns, we clip a shrunk column
on the right, so the separator disappears in that
case unless we put it on the left side of the other
column.

5 years agogdkglcontext: Fix build with MSVC
Xavier Claessens [Sun, 18 Oct 2020 21:14:22 +0000 (17:14 -0400)]
gdkglcontext: Fix build with MSVC

GLDEBUGPROC callback is defined with APIENTRY which is a windows
specific calling convention. That macro expands to nothing when building
on other platforms.

Fixes: #3268.
5 years agocolumview: Make resize area a bit larger
Matthias Clasen [Mon, 19 Oct 2020 12:22:28 +0000 (08:22 -0400)]
columview: Make resize area a bit larger

This make column resizing feel less like a game
of hit-and-miss. Ultimatively, we should add an
alternative to this.

5 years agocolumview: Implement double-click to reset headers
Matthias Clasen [Mon, 19 Oct 2020 02:34:07 +0000 (22:34 -0400)]
columview: Implement double-click to reset headers

Implement the same behavior as GtkTreeView:
double-click on the header boundary resets the
header to its automatic width.

Fixes: #3272
5 years agocolumnview: Make resize cursors reliable
Matthias Clasen [Mon, 19 Oct 2020 12:28:24 +0000 (08:28 -0400)]
columnview: Make resize cursors reliable

Ensure that the column resize cursor stays in place
for the duration of the resize drag. This is a bit
annoying, since the implicit grab can end up on the
header of a different column from the one we are
resizing, so just set the cursor on all column headers.

5 years agocolumnview: Fix more issues with column resizing
Matthias Clasen [Mon, 19 Oct 2020 12:27:35 +0000 (08:27 -0400)]
columnview: Fix more issues with column resizing

Make it so that for overlapping resize rectangles (with
very narrow columns), we prefer the narrow column, so you
can regrow a column after shrinking it all the way.

Related: #3274

5 years agocolumnview: Fix some issues with column resizing
Matthias Clasen [Mon, 19 Oct 2020 12:25:09 +0000 (08:25 -0400)]
columnview: Fix some issues with column resizing

Ensure that we place the resize rectangle at the visible
right edge of the column, not where the allocation ends
(we clip the header drawing, after all).

Related: #3274

5 years agoinspector: Clear overlays on unroot
Matthias Clasen [Sat, 17 Oct 2020 17:11:58 +0000 (13:11 -0400)]
inspector: Clear overlays on unroot

In dispose(), we can't access the root anymore,
since we're already unrooted.

Fixes: #3265
5 years agoMerge branch 'patch-1' into 'master'
Emmanuele Bassi [Sat, 17 Oct 2020 14:08:29 +0000 (14:08 +0000)]
Merge branch 'patch-1' into 'master'

Add some missing nullable return annotations

See merge request GNOME/gtk!2707

5 years agoAdd some missing nullable return annotations
Sophie Herold [Sat, 17 Oct 2020 13:17:56 +0000 (15:17 +0200)]
Add some missing nullable return annotations

5 years agoMerge branch 'wip/chergert/fix-macos-fps-calculation' into 'master'
Matthias Clasen [Sat, 17 Oct 2020 12:20:04 +0000 (12:20 +0000)]
Merge branch 'wip/chergert/fix-macos-fps-calculation' into 'master'

macos: fix fps calculation for frame timings

See merge request GNOME/gtk!2705

5 years agoUpdate POTFILES.in
Piotr Drąg [Sat, 17 Oct 2020 09:11:24 +0000 (11:11 +0200)]
Update POTFILES.in

5 years agomacos: fix fps calculation for frame timings
Christian Hergert [Fri, 16 Oct 2020 04:04:51 +0000 (21:04 -0700)]
macos: fix fps calculation for frame timings

We need to mark the timings as complete after adding the
presentation time so that we have a valid FPS for the overlay
widget and/or fishbowl demo.

5 years ago3.99.3
Matthias Clasen [Thu, 15 Oct 2020 04:41:52 +0000 (00:41 -0400)]
3.99.3

5 years agoMerge branch 'win32.modal' into 'master'
Matthias Clasen [Fri, 16 Oct 2020 03:01:38 +0000 (03:01 +0000)]
Merge branch 'win32.modal' into 'master'

GDK/Win32: Fix modal window handling and window stacking (for GTK4)

See merge request GNOME/gtk!2675

5 years agodocs: Expand opacity docs
Matthias Clasen [Fri, 16 Oct 2020 02:39:01 +0000 (22:39 -0400)]
docs: Expand opacity docs

Explain the situation with popovers and opacity.

Fixes: #3246
5 years agoMerge branch 'a11y-action-fixes' into 'master'
Matthias Clasen [Fri, 16 Oct 2020 02:19:08 +0000 (02:19 +0000)]
Merge branch 'a11y-action-fixes' into 'master'

A11y action fixes

See merge request GNOME/gtk!2703

5 years agogdk/Win32: Fix mouse pointer capture
Chun-wei Fan [Thu, 8 Oct 2020 07:55:29 +0000 (15:55 +0800)]
gdk/Win32: Fix mouse pointer capture

Call SetCapture() explcitly for the (new) modal window so that we make the
modal window respond to mouse input, and also call SetCapture() to the parent
of the transient window that we are destroying so that mouse input capture is
returned to the parent window.

This attempts to fix the following:

*  Upon creating a new modal window, the new modal window does not receive
   pointer input unless one switches to another program and back

*  Upon closing a transient window, the parent window that activated the
   transient window does not receive pointer input unless one switches to
   another and back

5 years agoMerge branch 'fix-listbox-selection' into 'master'
Matthias Clasen [Fri, 16 Oct 2020 02:03:16 +0000 (02:03 +0000)]
Merge branch 'fix-listbox-selection' into 'master'

Revert "listbox: Activate single-click rows if n_press >= 1"

Closes #3263

See merge request GNOME/gtk!2704

5 years agoGDK W32: Remove stacking functions
Руслан Ижбулатов [Tue, 6 Oct 2020 08:10:47 +0000 (16:10 +0800)]
GDK W32: Remove stacking functions

Stacking functions enforce non-native stacking behaviour that is
mostly unneeded, and doing so introduces bugs and complicates things.

5 years agoRevert "GDK W32: Use SWP_NOOWNERZORDER everywhere it can be applied"
Руслан Ижбулатов [Thu, 8 Oct 2020 04:46:06 +0000 (12:46 +0800)]
Revert "GDK W32: Use SWP_NOOWNERZORDER everywhere it can be applied"

This reverts commit fc2008f2.

Turns out, we *don't* have code to maintain Z-order. Restacking
code is not doint that, it just enforces a few weird Z-order-related
behaviours.

5 years agoGDK/Win32: Fix modal window handling
Chun-wei Fan [Tue, 6 Oct 2020 07:06:47 +0000 (15:06 +0800)]
GDK/Win32: Fix modal window handling

Make sure that we get the state of the modal window properly, and send out the
corresponding notification signals.

This will ensure that we do not try to activate windows that should have become
inactivated due to it opening modal windows and render the program unresponsive
because we are not activating the correct window that is due to receive user
input.

5 years agoRevert "listbox: Activate single-click rows if n_press >= 1"
Matthias Clasen [Fri, 16 Oct 2020 01:45:34 +0000 (21:45 -0400)]
Revert "listbox: Activate single-click rows if n_press >= 1"

This reverts commit e669433cde60068099c7c03235475673d0ed7db4.

This broke selection in several listbox examples.

Fixes: #3263
5 years agoatspi: Properly filter out parent actions
Matthias Clasen [Fri, 16 Oct 2020 01:29:37 +0000 (21:29 -0400)]
atspi: Properly filter out parent actions

We only want to show relevant, local actions for
widgets, but _gtk_widget_get_action_muxer() will
return the muxer of a parent widget (all the way
up to the toplevel), if the widget does not have
any actions of its own. To detect this situation,
compare what _gtk_widget_get_action_muxer() returns
for the parent widget, and act accordingly.

5 years agoatspi: Fix a thinko in action filtering
Matthias Clasen [Fri, 16 Oct 2020 01:28:11 +0000 (21:28 -0400)]
atspi: Fix a thinko in action filtering

get_action_at_index() was trying hard to find out
which actions are valid, only to then return the
invalid ones anyway.

5 years agoMerge branch 'a11y/atspi-action' into 'master'
Matthias Clasen [Fri, 16 Oct 2020 00:13:23 +0000 (00:13 +0000)]
Merge branch 'a11y/atspi-action' into 'master'

A11y/atspi action

See merge request GNOME/gtk!2699

5 years agoa11y: Add atspi.Action for GtkPasswordEntry
Emmanuele Bassi [Thu, 15 Oct 2020 18:21:27 +0000 (19:21 +0100)]
a11y: Add atspi.Action for GtkPasswordEntry

5 years agoAllow toggling the password entry visibility programmatically
Emmanuele Bassi [Thu, 15 Oct 2020 20:18:35 +0000 (21:18 +0100)]
Allow toggling the password entry visibility programmatically

We are going to need a method for toggling the visibility from the
accessibility layer.

5 years agoa11y: Add atspi.Action for GtkEntry
Emmanuele Bassi [Thu, 15 Oct 2020 18:15:12 +0000 (19:15 +0100)]
a11y: Add atspi.Action for GtkEntry

We need to handle the activation on the entry widget, as well as the
activation of the primary and secondary icons.

5 years agoAdd GtkEntry icon signals emitter
Emmanuele Bassi [Thu, 15 Oct 2020 20:13:19 +0000 (21:13 +0100)]
Add GtkEntry icon signals emitter

We need a (private) way to programmatically trigger the activation of
the entry's icons, so that we can call it from the accessibility layer.

5 years agoa11y: Add atspi.Action for GtkExpander
Emmanuele Bassi [Thu, 15 Oct 2020 15:05:43 +0000 (16:05 +0100)]
a11y: Add atspi.Action for GtkExpander

5 years agoa11y: De-duplicate some action code
Emmanuele Bassi [Thu, 15 Oct 2020 14:55:31 +0000 (15:55 +0100)]
a11y: De-duplicate some action code

The widgets with hard coded actions should share more code, instead of
copy-pasting it.

5 years agoa11y: Special case buttons and switches
Emmanuele Bassi [Wed, 14 Oct 2020 17:42:00 +0000 (18:42 +0100)]
a11y: Special case buttons and switches

These widgets have specific actions.

5 years agoInitial ATSPI Action implementation for widget
Emmanuele Bassi [Wed, 14 Oct 2020 14:10:03 +0000 (15:10 +0100)]
Initial ATSPI Action implementation for widget

Use the actions from the GtkActionMuxer of each widget to populate the
list of actions available.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Thu, 15 Oct 2020 21:00:44 +0000 (21:00 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

Closes #3245

See merge request GNOME/gtk!2702

5 years agoFix compiler warnings
Matthias Clasen [Thu, 15 Oct 2020 20:33:35 +0000 (16:33 -0400)]
Fix compiler warnings